package com.ruoyi.statisticalCenter.mapper;

import com.ruoyi.common.core.domain.R;
import com.ruoyi.statisticalCenter.domain.ScOutPortWarehouseGrossProfitSheet;
import com.ruoyi.statisticalCenter.domain.vo.ClientStorageChargeVo;
import com.ruoyi.statisticalCenter.domain.vo.ScOutPortWareDispositionVo;
import com.ruoyi.statisticalCenter.domain.vo.ScOutPortWarehouseGrossProfitSheetVo;
import com.ruoyi.statisticalCenter.domain.vo.ScWeightFlowDirectionDispositionVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Mapper
public interface ScOutPortWarehouseGrossProfitSheetMapper {

    String collectSum(ScOutPortWarehouseGrossProfitSheetVo vo);

    List<ScOutPortWarehouseGrossProfitSheet> collectTransfer(ScOutPortWarehouseGrossProfitSheetVo vo);

    List<ScOutPortWarehouseGrossProfitSheet> collectIW(ScOutPortWarehouseGrossProfitSheetVo vo);

    List<ScOutPortWarehouseGrossProfitSheet> collectOW(ScOutPortWarehouseGrossProfitSheetVo vo);

    List<ScOutPortWarehouseGrossProfitSheet> collectOverSix(ScOutPortWarehouseGrossProfitSheetVo vo);

    List<ScOutPortWarehouseGrossProfitSheet> collectRemote(ScOutPortWarehouseGrossProfitSheetVo vo);

    List<ScOutPortWarehouseGrossProfitSheet> collectLN(ScOutPortWarehouseGrossProfitSheetVo vo);

    ScOutPortWareDispositionVo selectDisposition();

    public int updateDisposition(ScOutPortWareDispositionVo vo);

    BigDecimal selectTransferFee(@Param("startTime") String startTime , @Param("endTime") String endTime );

    ScOutPortWareDispositionVo selectDispositionByCreate(@Param("createTime")Date createTime);

    int insertDisposition(ScOutPortWareDispositionVo vo);

    List<ClientStorageChargeVo> selectClientStorageChargeVo(String id);

    ClientStorageChargeVo selectClientStorageChargeByDispositionIdAndClientCode(@Param("dispositionId") String dispositionId,@Param("clientCode") String clientCode);

    int updateClientStorageChargeById(ClientStorageChargeVo clientStorageChargeVo);

    int insertClientStorageCharge(ClientStorageChargeVo clientStorageChargeVo);
}
